Design of Graphite and the Polyhedral Compilation Package
نویسندگان
چکیده
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a detailed description of the design and future directions of this infrastructure. Graphite uses the polyhedral model as the internal representation (GPOLY). The plan is to create a polyhedral compilation package (PCP) that will provide loop optimization and analysis capabilities to GCC. This package will be separated from GIMPLE via an interface language that is restricted to express only what GPOLY can represent. The interface language is a set of data structures that encodes the control flow and memory accesses of a code region. A syntax for the language is also defined to facilitate debugging and testing.
منابع مشابه
GRAPHITE Two Years After First Lessons Learned From Real-World Polyhedral Compilation
Modern compilers are responsible for adapting the semantics of source programs into a form that makes efficient use of a highly complex, heterogeneous machine. This adaptation amounts to solve an optimization problem in a huge and unstructured search space, while predicting the performance outcome of complex sequences of program transformations. The polyhedral model of compilation is aimed at t...
متن کاملAutomatic Streamization in GCC
Multi-cores and multi-processors became ubiquitous during the last few years, and the trend is to increase the number of simple, power-efficient, and slower cores per chip. One of the results is that the performance of single-threaded applications did not significantly improve, or even declined, on new processors, which heightened the interest in compiler automatic parallelization techniques. O...
متن کاملEnabling more optimizations in GRAPHITE: ignoring memory-based dependences
Data-dependences need to be analyzed to guarantee the legality of a loop transformations and parallelization. But many dependences are spurious memory-based dependences: they are induced by storing values in the same memory location. Spurious dependences reduce the degrees of freedom in loop transformations and parallelization. The effective handling of spurious datadependences in GIMPLE is ess...
متن کاملGraphite: Towards a Declarative Polyhedral Representation
Classical polyhedral representations of imperative languages entangle untranslated scalar imperative operations to the declarative descriptions of the polyhedral model. This representation can handle high level array operations, but is more difficult to work on programs that split the array computations in smaller chunks involving scalar temporary variables. The aim of the current paper is to p...
متن کاملSynthesis and Characterization of Polyhedral Graphite Particles
Hollow polyhedral graphite particles with 200~400 nm in diameter have been synthesized by heating oxalic acid, ferrocene and metallic magnesium at 580 °C, typically forming diamond-like octahedral structure. Combined with SEM, TEM, SAED patterns, and Raman spectroscopy, it was shown that the surface of graphite polyhedrons is composed of approximately 30-40 graphene shells; the fouror sixfold s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009